﻿(function() {
$(document).ready(function() { 	
	
	var i = 0;
	
	/* Table Article initialisation */
	var categorieTable = $('#categorietableau').dataTable( {
		"bProcessing": true,
        "sAjaxSource": BASE_URL+"admin/getcategories",
        "aoColumns": [
            { "mData": "id" },
			{ "mData": "categorie" },
			{ "mData": "image" }
        ],
		"aoColumnDefs": [
                        { "bVisible": false,  "aTargets": [ 0 ]},
                        { "bVisible": false,  "aTargets": [ 2 ]}
                    ],
		"oLanguage": {
					"sUrl": BASE_URL+"file/datatable.txt"
			  },
		"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
		"sWrapper": "dataTables_wrapper form-inline",
		"sPaginationType": "bootstrap"
	} );
	
	
	$("#categorietableau tbody tr").live('click', function( e ) {
        if ( $(this).hasClass('row_selected') ) {
            $(this).removeClass('row_selected');
        }
        else {
            categorieTable.$('tr.row_selected').removeClass('row_selected');
            $(this).addClass('row_selected');
        }
		//On reset le form
		resetform($('#formcategorie'),$('#errorCategorie'),"#127874");
		
		//On préremplie le formulaire
		var data = categorieTable.fnGetData( this );
		$('#idcategorie').val(data.id);
		$('#nomcategorie').val(data.categorie);
		$('#photo').val(data.image);
		
		$('#dialogcategorie').width('800px');
		$('#dialogcategorie').css('margin-left','-400px');
		$('#photocontainer').css('display','block');
		var img = "<img src='"+BASE_URL+$('#photo').val()+"?i="+i+"'/>";
		i=i+1;
		$("#photocontainer").html(img);
		$("#photocontainer").show();
		
		$('#addCategorieContainer').hide();
		$('#editCategorieContainer').show();
		
		$('#dialogcategorie').modal('show');
    });
	
	$('#addCanevasCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#addCategorieContainer').show();
		$('#editCategorieContainer').hide();
		
		$('#dialogcategorie').width('auto');
		$('#dialogcategorie').css('margin-left','-250px');
		$("#photocontainer").hide();
		
		resetform($('#formcategorie'),$('#errorCategorie'),"#127874");
		
		$('#dialogcategorie').modal('show');
	});
	
	$('#addCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#actioncategorie').val('add');
		renamePhoto("photos","cat",$('#nomcategorie'), $('#extension'),$('#photo'));
		$('#successCategorie').html('Votre Catégorie a été ajoutée');
		$("#formcategorie").submit();
	});
	
	$('#cancelAddCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#dialogcategorie').modal('hide');
	});
	
	$('#editCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#actioncategorie').val('edit');
		if($('#nomphoto').val() !=  '')
		{
			renamePhoto("photos","cat",$('#nomcategorie'), $('#extension'),$('#photo'));
		}
		$('#successCategorie').html('Votre Catégorie a été modifiée');
		$("#formcategorie").submit();
	});
	
	$('#deleteCategorie').live('click',function(e)
	{
		e.preventDefault();
		
		//On cache la premiere DialogBox
		$('#dialogcategorie').modal('hide');
		
		//On demande Confirmation
		$('#confirmdeletecategorie').modal('show');
	});
	
	$('#ValiddeleteCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#actioncategorie').val('delete');
		$('#successCategorie').html('Votre Catégorie a été supprimé');
		$("#formcategorie").submit();
		$('#confirmdeletecategorie').modal('hide');
	});
	
	$('#CanceldeleteCategorie').live('click',function(e)
	{
		e.preventDefault();
		$('#confirmdeletecategorie').modal('hide');
	});
	
	$("#formcategorie").live('submit',function(e) {
		e.preventDefault(); // stop the form being submit on click
			
		//On remet la couleur sur chaque des bordures input
		reInitCouleurlabel($(this), "#127874");
		
		//On réinitialise les message d'erreurs
		$('#errorCategorie').html("");
			
		var formulaire = $(this);
		//On récupère l'action du form
		var url = $(this).attr("action");    
					
		$.ajax({
				type: "POST",
				url: url,
				data: $(this).serialize(), //On sérialize les datas du form
				beforeSend: function () {
					$("#loadcategorie").show();
				},
				success: function(data, textStatus, jqXHR) {
					
				$("#loadcategorie").hide();
						
				//Si la validation passe
				if(data == "true")
				{
					//On cache le form
					$('#dialogcategorie').modal('hide');
					
					$("#file_upload").uploadify("settings", 'formData', {'titrephoto':$('#photo').val()});	
					//On upload le file
					$('#file_upload').uploadify('upload');
					
					//On reload la table actuelle
					categorieTable.fnReloadAjax();
						
					//On Reset le Form
					resetform(formulaire,$('#errorCategorie'),"#127874");
					
					//On affiche un message de succès
					$('#successCategorie').show();
					setTimeout(function() {
						$('#successCategorie').hide();
					}, 5000);
				}
				//Si la validation échoue
				else
				{
					$('#errorCategorie').show();
					res = $.parseJSON(data);
					for (var id in res) {
						$('#'+id).prev().css('color','red');
						for(var id2 in res[id]) {
							if($('#errorCategorie').text() == "")
							{
								//On affiche un message d'erreur
								$('#errorCategorie').css('display','block');
								$('#errorCategorie').append(res[id][id2]);
							}
						}
					}
				}
				}
		});
	});
	
	$('#file_upload').uploadify({
		'method'   : 'post',
        'swf'      : BASE_URL+'flash/uploadify.swf',
		'fileSizeLimit' : '0',
        'uploader' : BASE_URL +'admin/upload',
		'onUploadError' : function(file, errorCode, errorMsg, errorString) {
				alert('The file ' + file.name + ' a eu un problème : ' + errorString +'"\n"'+errorMsg);
		} ,
        'onUploadComplete' : function(file) {
				$('#loadupload').hide();
			},
		'onUploadSuccess' : function(file, data, response) {
				console.log(data);
				//alert(response);
			},
		'onSelect' : function(file) {
				checkExtensionPhoto(file.name, $('#extension'),$('#errorCategorie'), $('#nomphoto'));
		    }, 
		'onInit'   : function(instance) {
			
				$('#file_upload').css('width','100%');
				$('#file_upload').prepend('<div class="mylabel"><span>Photo :</span></div><input id="nomphoto" name="nomphoto" type="text" class="myinput" value=""/>');
				$('#file_upload').append('<div class="clearfix"></div>');
				
				$('#file_upload .swfupload').css('margin-left',-$('#file_upload-button').width());
				
				$('#file_upload-queue').css('display','none');
			},
		 'onUploadStart' : function(file) {
				$('#loadupload').show();
			},
			'buttonClass':'mybutton',
			'buttonText' : 'parcourir...',
			'queueID'  : 'photo_queue',
			'multi':false,
			'auto': false
	});
	
}); 
})( jQuery );